Ext.namespace('pages.p2p.hPlan.planXmSh');

pages.p2p.hPlan.planXmSh.Add = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.record = config.record;
	this.initUIComponents();
	pages.p2p.hPlan.planXmSh.Add.superclass.constructor.call(this);
};
Ext.extend(pages.p2p.hPlan.planXmSh.Add, Ext.Window, {
			initUIComponents : function() {

				this.form = new Ext.form.FormPanel({
							region : 'north',
							layout : 'column',
							height : 280,
							labelWidth : 125,
							labelAlign : 'left',
							autoScroll : true,
							border : false,
							frame : false,
							title : 'H计划项目信息',
							bodyStyle : 'padding:5',
							items : [{
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '审核人',
													xtype : 'textfield',
													name : 'SHR',
													id : 'SHR',
													value : parent.gyh,
													readOnly : true,
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '审核时间',
													xtype : 'datefield',
													anchor : '98%',
													name : 'SHSJ',
													format : 'Y-m-d',
													id : 'SHSJ',
													hideTrigger : true,
													value : new Date(),
													readOnly : true
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [new Ext.form.ComboBox({
													fieldLabel : '审核状态',
													name : 'SHZT',
													id : 'SHZT',
													anchor : '98%',
													store : new Ext.data.SimpleStore(
															{
																fields : [
																		'VALUE',
																		'TEXT'],
																data : [
																		['01',
																				'通过'],
																		['02',
																				'不通过']]
															}),
													valueField : 'VALUE',
													displayField : 'TEXT',
													hiddenName : 'SHZT_VALUE',
													triggerAction : 'all',
													mode : 'local',
													editable : false,
													selectOnFocus : true,
													allowBlank : false,
													value : '01'
												})]
									}, {
										columnWidth : 1,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '审核备注',
													xtype : 'textarea',
													name : 'SHBZ',
													id : 'SHBZ',
													maxLength : 250,
													maxLengthText : '审核备注不能超过250个字符',
													allowBlank : false,
													anchor : '99%'
												}]
									}, {
										columnWidth : 1,
										height : 10,
										border : false
									}, {
										columnWidth : 1,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '项目名称',
													xtype : 'textfield',
													name : 'XMMC',
													id : 'XMMC',
													readOnly : true,
													anchor : '99%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '期限(月)',
													xtype : 'textfield',
													name : 'QX_MONTH',
													id : 'QX_MONTH',
													readOnly : true,
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '项目金额',
													xtype : 'textfield',
													name : 'XMJE',
													id : 'XMJE',
													readOnly : true,
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '年化收益率（%）',
													xtype : 'numberfield',
													readOnly : true,
													name : 'NHSYL',
													id : 'NHSYL',
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '募集期（天）',
													xtype : 'numberfield',
													readOnly : true,
													name : 'MJQ',
													id : 'MJQ',
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '项目状态',
													xtype : 'textfield',
													readOnly : true,
													name : 'XMZT',
													id : 'XMZT',
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '还款方式',
													xtype : 'textfield',
													readOnly : true,
													name : 'HKFS',
													id : 'HKFS',
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '发标日期',
													xtype : 'textfield',
													anchor : '98%',
													name : 'FBSJ',
													id : 'FBSJ',
													readOnly : true
												}]
									}, {
										columnWidth : 1,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '项目投标范围',
													xtype : 'textfield',
													name : 'TBFW',
													id : 'TBFW',
													readOnly : true,
													anchor : '99%'
												}]
									}, {
										columnWidth : 1,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '项目计划介绍',
													xtype : 'textarea',
													name : 'JHJS',
													id : 'JHJS',
													height : 80,
													readOnly : true,
													anchor : '99%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '申请人',
													xtype : 'textfield',
													name : 'SQR',
													id : 'SQR',
													readOnly : true,
													anchor : '98%'
												}]
									}, {
										columnWidth : .5,
										layout : 'form',
										border : false,
										items : [{
													fieldLabel : '申请日期',
													xtype : 'textfield',
													anchor : '98%',
													name : 'SQSJ',
													id : 'SQSJ',
													readOnly : true
												}]
									}]
						});

				this.store = new Ext.data.Store({
							proxy : new Ext.data.HttpProxy({
										url : ExtJ
												.getActionPath('hPlan/listKuByXmId.do')
									}),
							remoteSort : true,
							reader : new Ext.data.JsonReader({
										root : 'data',
										totalProperty : 'total',
										id : 'ID'
									}, [{
												name : 'ID',
												mapping : 'ID'
											}, {
												name : 'XM_NAME',
												mapping : 'XM_NAME'
											}, {
												name : 'XM_NH_SYL',
												mapping : 'XM_NH_SYL'
											}, {
												name : 'XM_JE',
												mapping : 'XM_JE'
											}, {
												name : 'XM_QX_DAY',
												mapping : 'XM_QX_DAY'
											}, {
												name : 'XM_QX_MONTH',
												mapping : 'XM_QX_MONTH'
											}, {
												name : 'XM_ZT',
												mapping : 'XM_ZT'
											}, {
												name : 'XM_ORDER',
												mapping : 'XM_ORDER'
											}, {
												name : 'XM_TYPE',
												mapping : 'XM_TYPE'
											}, {
												name : 'XM_XYJB',
												mapping : 'XM_XYJB'
											}, {
												name : 'XM_JHJS',
												mapping : 'XM_JHJS'
											}, {
												name : 'XM_TBFW',
												mapping : 'XM_TBFW'
											}, {
												name : 'IS_USED',
												mapping : 'IS_USED'
											}, {
												name : 'XM_SS_GYH',
												mapping : 'XM_SS_GYH'
											}, {
												name : 'IN_KU_DATE',
												mapping : 'IN_KU_DATE'
											}, {
												name : 'SY',
												mapping : 'SY'
											}])
						});
				var sm = new Ext.grid.CheckboxSelectionModel({
							singleSelect : true

						});
				var cm = new Ext.grid.ColumnModel([sm,
						new Ext.grid.RowNumberer(), {
							header : '项目名称',
							width : 100,
							sortable : true,
							dataIndex : 'XM_NAME'
						}, {
							header : '年化收益率',
							width : 120,
							sortable : true,
							dataIndex : 'XM_NH_SYL'
						}, {
							header : '项目金额',
							width : 130,
							sortable : true,
							dataIndex : 'XM_JE'
						}, {
							header : '期限(天)',
							width : 130,
							sortable : true,
							dataIndex : 'XM_QX_DAY'
						}, {
							header : '期限(月)',
							width : 130,
							sortable : true,
							dataIndex : 'XM_QX_MONTH'
						}, {
							header : '项目状态',
							width : 80,
							sortable : true,
							dataIndex : 'XM_ZT',
							renderer : function(v) {
								if ('1' == v) {
									return "待审核";
								} else if ('2' == v) {
									return "信审通过";
								} else if ('3' == v) {
									return "信审失败";
								} else if ('4' == v) {
									return "招标中";
								} else if ('5' == v) {
									return "已截标";
								} else if ('6' == v) {
									return "投标完成";
								} else if ('7' == v) {
									return "还款完成";
								}
							}
						}, {
							header : '项目自定义编号',
							width : 80,
							sortable : true,
							dataIndex : 'XM_ORDER'
						}, {
							header : '项目类型',
							width : 80,
							sortable : true,
							dataIndex : 'XM_TYPE',
							renderer : function(v) {
								if ('01' == v) {
									return "个人信用";
								} else if ('02' == v) {
									return "资产抵押";
								} else if ('03' == v) {
									return "车贷";
								} else {
									return v;
								}
							}
						}, {
							header : '信用级别',
							width : 80,
							sortable : true,
							dataIndex : 'XM_XYJB'
						}, {
							header : '计划介绍',
							width : 90,
							sortable : true,
							dataIndex : 'XM_JHJS'
						}, {
							header : '投标范围',
							width : 130,
							sortable : true,
							dataIndex : 'XM_TBFW'
						}, {
							header : '是否可用',
							width : 60,
							sortable : true,
							dataIndex : 'IS_USED',
							renderer : function(v) {
								if ('00' == v) {
									return "可用";
								} else if ('01' == v) {
									return "不可用";
								}
							}
						}, {
							header : '所属员工员工号',
							width : 60,
							sortable : true,
							dataIndex : 'XM_SS_GYH'
						}, {
							header : '入库时间',
							width : 60,
							sortable : true,
							dataIndex : 'IN_KU_DATE'
						}]);

				/**
				 * GridPanel
				 */
				this.grid = new Ext.grid.GridPanel({
							id : 'grid_add',
							region : 'center',
							store : this.store,
							title : '已选项目列表',
							border : true,
							frame : false,
							viewConfig : {
								autoFill : false,
								forceFit : false,
								focusRow : function() {
									return;
								},
								getRowClass : function(record, rowIndex,
										rowParams, store) {
									if (record.get("TOP_LEVEL") == "1") {
										return 'ux-grid-record-onTop';
									}
								}
							},
							sm : sm,
							cm : cm,
							tbar : [{
										id : 'view',
										iconCls : 'view',
										text : '查看',
										handler : this.onView
												.createDelegate(this)
									}],
							bbar : new Ext.PagingToolbar({
										pageSize : pageSize,
										store : this.store,
										displayInfo : true,
										displayMsg : '当前显示第 {0} - {1} 条 / 共 {2} 条',
										emptyMsg : "没有记录"
									})
						});

				Ext.apply(this, {
							id : 'form_addSH',
							title : '发标审核',
							border : false,
							layout : 'border',
							style : {
								marginRight : 'auto',
								marginLeft : 'auto'
							},
							width : 700,
							height : 540,
							modal : true,
							items : [this.form, this.grid],
							listeners : {
								'render' : this.initData.createDelegate(this)
							},
							tbar : [{
										text : '审核',
										iconCls : 'save',
										hidden : 'add' == this.operType
												? false
												: true,
										handler : this.onSave
												.createDelegate(this)
									}, {
										text : '关闭',
										iconCls : 'close',
										handler : this.onCancel
												.createDelegate(this)
									}]
						});
			},

			initData : function() {
				Ext.getCmp("XMMC").setValue(this.record.get('H_PLAN_XM_NAME'));
				Ext.getCmp("NHSYL").setValue(this.record.get('H_PLAN_NH_SYL'));
				Ext.getCmp("QX_MONTH").setValue(this.record
						.get('H_PLAN_QX_MONTH'));
				Ext.getCmp("FBSJ").setValue(this.record.get('H_PLAN_FB_DATE'));
				Ext.getCmp("MJQ").setValue(this.record.get('H_PLAN_XM_MJQ'));
				Ext.getCmp("XMJE").setValue(this.record.get('H_PLAN_XM_JE'));
				Ext.getCmp("SQR").setValue(this.record.get('SQ_USER_ID'));
				Ext.getCmp("SQSJ").setValue(this.record.get('SQ_DATE'));
				var xmzt = this.record.get('H_PLAN_XM_ZT');
				if ('00' == xmzt) {
					xmzt = "待审核";
				} else if ('01' == xmzt) {
					xmzt = "审核通过";
				} else if ('02' == xmzt) {
					xmzt = "审核失败";
				} else if ('4' == xmzt) {
					xmzt = "招标中";
				} else if ('5' == xmzt) {
					xmzt = "已截标";
				} else if ('6' == xmzt) {
					xmzt = "投标完成";
				} else if ('7' == xmzt) {
					xmzt = "还款完成";
				}
				Ext.getCmp("XMZT").setValue(xmzt);
				Ext.getCmp("TBFW").setValue(this.record.get('H_PLAN_TBFW'));
				Ext.getCmp("JHJS").setValue(this.record.get('H_PLAN_XM_JHJS'));
				var hkfs = this.record.get('HK_TYPE');
				if ('01' == hkfs) {
					hkfs = "按月付息,到期还本";
				} else if ('02' == hkfs) {
					hkfs = "一次性到期还本付息";
				} else {
					hkfs = "未知";
				}
				Ext.getCmp("HKFS").setValue(hkfs);

				this.store.baseParams.xmId = this.record.get('ID');
				Ext.getBody().mask("正在查询,请稍候...");
				this.store.reload({
							params : {
								start : 0,
								limit : pageSize
							},
							callback : function() {
								Ext.getBody().unmask(true);
							}
						});
			},
			onView : function() {
				var record = this.grid.getSelectionModel().getSelected();
				if (!record) {
					ExtJ.showMessage("请选择一条需要查看的记录!");
					return;
				}
				var win = new pages.p2p.hPlan.planXmSq.ViewBase({
							operType : 'view',
							record : record
						});
				win.show();
			},
			onSave : function() {
				var xmId = this.record.get('ID');
				var shr = Ext.getCmp("SHR").getValue();
				if (undefined == shr || '' == shr) {
					Ext.Msg.alert('提示', '审核人不能为空');
					return;
				}
				var shzt = Ext.getCmp("SHZT").getValue();
				if (undefined == shzt || '' == shzt) {
					Ext.Msg.alert('提示', '请选择审核状态!');
					Ext.getCmp('SHZT').focus();
					return;
				}
				var shbz = Ext.getCmp("SHBZ").getValue();
				if ('' == shbz.trim()) {
					Ext.Msg.alert('提示', '审核备注不能为空！');
					return;
				} else if (shbz.trim().length > 250) {
					Ext.Msg.alert('提示', '审核备注不能大于250字！');
					return;
				}
				if (!this.form.getForm().isValid()) {
					Ext.Msg.alert('提示', '页面输入的有误,请按照要求输入!');
					return;
				}
				Ext.getBody().mask("正在保存,请稍候...");
				this.form.getForm().submit({
							method : 'post',
							url : ExtJ.getActionPath('hPlan/saveXmSh.do'),
							params : {
								xmId : xmId,
								shr : shr,
								shzt : shzt,
								shbz : shbz
							},
							reset : false,
							success : function(option, action) {
								var text = Ext
										.decode(action.response.responseText);
								Ext.Msg.alert('提示', text.msg);
								if (text.isSuc) {
									Ext.getCmp('grid').getStore().reload();
									this.close();
								}
								Ext.getBody().unmask(true);
							}.createDelegate(this)
						});
			},
			onCancel : function() {
				this.close();
			}
		});